<?php

namespace app\models\cacheModel\base;

use Yii;

/**
 * This is the cache model class for table "{{%setting}}".
 *
 * @property string $id 编号
 * @property string $key 字段名
 * @property string $title 字段标题
 * @property int $type 字段类型
 * @property string $value 字段值
 * @property array $option 选其他项
 * @property int $group 所在分组
 * @property int $status 状态
 * @property int $length 字段长度
 * @property string $reg 验证规则
 * @property string $hint 验证错误提示
 * @property string $description 说明
 * @property int $is_required 是否必填
 * @property int $add_time 添加时间
 * @property int $update_time 更新时间
 * @property int $sort 排序
 * @property int $can_add_row 是否可条目添加
 * @property int $top_line 是否顶部分割线
 * @property string $top_title 顶部分割线标题
 * @property string $unit 尾部单位
 * @property string $width 自定义宽度
 */
class Setting extends Base
{


    /**
     * 表名
     * @return string
     */
    public static function keyPrefix()
    {
        return Yii::$app->db->tablePrefix . 'setting';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['id', 'key', 'title', 'group'], 'required'],
            [['type', 'group', 'status', 'length', 'is_required', 'add_time', 'update_time', 'sort', 'can_add_row', 'top_line'], 'integer'],
            [['value'], 'string'],
            [['option'], 'safe'],
            [['id'], 'string', 'max' => 32],
            [['key', 'title', 'reg', 'top_title', 'unit'], 'string', 'max' => 100],
            [['hint'], 'string', 'max' => 200],
            [['description'], 'string', 'max' => 300],
            [['width'], 'string', 'max' => 10],
            [['key'], 'unique'],
            [['id'], 'unique'],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => '编号',
            'key' => '字段名',
            'title' => '字段标题',
            'type' => '字段类型',
            'value' => '字段值',
            'option' => '选其他项',
            'group' => '所在分组',
            'status' => '状态',
            'length' => '字段长度',
            'reg' => '验证规则',
            'hint' => '验证错误提示',
            'description' => '说明',
            'is_required' => '是否必填',
            'add_time' => '添加时间',
            'update_time' => '更新时间',
            'sort' => '排序',
            'can_add_row' => '是否可条目添加',
            'top_line' => '是否顶部分割线',
            'top_title' => '顶部分割线标题',
            'unit' => '尾部单位',
            'width' => '自定义宽度',
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributes()
    {
        return [
            'id',
            'key',
            'title',
            'type',
            'value',
            'option',
            'group',
            'status',
            'length',
            'reg',
            'hint',
            'description',
            'is_required',
            'add_time',
            'update_time',
            'sort',
            'can_add_row',
            'top_line',
            'top_title',
            'unit',
            'width',
        ];
    }
}
